#-
# ==========================================================================
# Copyright (C) 1995 - 2006 Autodesk, Inc. and/or its licensors.  All 
# rights reserved.
#
# The coded instructions, statements, computer programs, and/or related 
# material (collectively the "Data") in these files contain unpublished 
# information proprietary to Autodesk, Inc. ("Autodesk") and/or its 
# licensors, which is protected by U.S. and Canadian federal copyright 
# law and by international treaties.
#
# The Data is provided for use exclusively by You. You have the right 
# to use, modify, and incorporate this Data into other products for 
# purposes authorized by the Autodesk software license agreement, 
# without fee.
#
# The copyright notices in the Software and this entire statement, 
# including the above license grant, this restriction and the 
# following disclaimer, must be included in all copies of the 
# Software, in whole or in part, and all derivative works of 
# the Software, unless such copies or derivative works are solely 
# in the form of machine-executable object code generated by a 
# source language processor.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND. 
# AUTODESK DOES NOT MAKE AND HEREBY DISCLAIMS ANY EXPRESS OR IMPLIED 
# WARRANTIES INCLUDING, BUT NOT LIMITED TO, THE WARRANTIES OF 
# NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR 
# PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE, OR 
# TRADE PRACTICE. IN NO EVENT WILL AUTODESK AND/OR ITS LICENSORS 
# BE LIABLE FOR ANY LOST REVENUES, DATA, OR PROFITS, OR SPECIAL, 
# DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES, EVEN IF AUTODESK 
# AND/OR ITS LICENSORS HAS BEEN ADVISED OF THE POSSIBILITY 
# OR PROBABILITY OF SUCH DAMAGES.
#
# ==========================================================================
#+

#
# Include platform specific build settings
#
include buildconfig

.SUFFIXES: .cpp .cc .o .so .c .bundle 

.c.o:
	$(CC) -c $(INCLUDES) $(CFLAGS) $<
	
.cc.o:
	$(C++) -c $(INCLUDES) $(C++FLAGS) $<

.cpp.o:
	$(C++) -c $(INCLUDES) $(C++FLAGS) $<

.cc.i:
	$(C++) -E $(INCLUDES) $(C++FLAGS) $*.cc > $*.i

.cc.so:
	-rm -f $@
	$(LD) -o $@ $(INCLUDES) $< $(LIBS)

.cpp.so:
	-rm -f $@
	$(LD) -o $@ $(INCLUDES) $< $(LIBS)

.o.so:
	-rm -f $@
	$(LD) -o $@ $< $(LIBS)

.o.bundle:
	-rm -f $@
	$(LD) -o $@ $< $(LIBS)

LINUX_PLUGINS = \
		fluidInfoCmd.$(EXT)				\
		pfxInfoCmd.$(EXT)

plugins: \
		$(PLATFORM_SPECIFIC_PLUGINS)	\
		affectsNode.$(EXT)				\
		animCubeNode.$(EXT)				\
		animExportUtil.$(EXT)			\
 		animImportExport.$(EXT)			\
		animInfoCmd.$(EXT)				\
		anisotropicShader.$(EXT)		\
		apiMeshShape.$(EXT)				\
		arcLenNode.$(EXT)				\
		backfillShader.$(EXT)			\
		blindComplexDataCmd.$(EXT)		\
		blindDataShader.$(EXT)			\
		blindDoubleDataCmd.$(EXT)		\
		blindShortDataCmd.$(EXT)		\
		brickShader.$(EXT)				\
		buildRotationNode.$(EXT)		\
		cellShader.$(EXT)				\
		checkerShader.$(EXT)			\
		circleNode.$(EXT)				\
		clothPaintAttrCmd.$(EXT)        \
		closestPointOnCurve.$(EXT)		\
		clusterWeightFunction.$(EXT)	\
		compositingShader.$(EXT)		\
		conditionTest.$(EXT)			\
		contrastShader.$(EXT)			\
		convertBumpCmd.$(EXT)			\
		convertEdgesToFacesCmd.$(EXT)	\
		convertVerticesToEdgesCmd.$(EXT)	\
		convertVerticesToFacesCmd.$(EXT)	\
		createClipCmd.$(EXT)			\
		curvedArrowsNode.$(EXT)			\
		cvColorNode.$(EXT)				\
		cvColorShader.$(EXT)			\
		cvExpandCmd.$(EXT)				\
		cvPosCmd.$(EXT)					\
		dagMessageCmd.$(EXT)			\
		dagPoseInfoCmd.$(EXT)			\
		depthShader.$(EXT)				\
		displacementShader.$(EXT)		\
		eventTest.$(EXT)				\
		exportJointClusterDataCmd.$(EXT)	\
		exportSkinClusterDataCmd.$(EXT)	\
		findFileTexturesCmd.$(EXT)		\
		findTexturesPerPolygonCmd.$(EXT)	\
		flameShader.$(EXT)				\
		flipUVCmd.$(EXT)				\
		footPrintManip.$(EXT)			\
		footPrintNode.$(EXT)			\
		fullLoftNode.$(EXT)				\
		gammaShader.$(EXT)				\
		geomShader.$(EXT)				\
		getAttrAffectsCmd.$(EXT)		\
		hairCollisionSolver.$(EXT)				\
		helix2Cmd.$(EXT)				\
		helixCmd.$(EXT)					\
		helixTool.$(EXT)				\
		helloCmd.$(EXT)					\
		helloWorldCmd.$(EXT)			\
		hwColorPerVertexShader.$(EXT)	\
		hwPhongShader.$(EXT)			\
		idleTest.$(EXT)					\
		iffInfoCmd.$(EXT)				\
		iffPixelCmd.$(EXT)				\
		iffPpmCmd.$(EXT)				\
		instanceCallbackCmd.$(EXT)		\
		instancerListCmd.$(EXT)			\
		interpShader.$(EXT)				\
		jitterNode.$(EXT)				\
		lambertShader.$(EXT)			\
		lassoTool.$(EXT)				\
		latticeNoise.$(EXT)				\
		lavaShader.$(EXT)				\
		lepTranslator.$(EXT)			\
		lightShader.$(EXT)				\
		listLightLinksCmd.$(EXT)		\
		listPolyHolesCmd.$(EXT)			\
		lockEvent.$(EXT)				\
		marqueeTool.$(EXT)				\
		maTranslator.$(EXT)				\
		meshOpCmd.$(EXT)				\
		mixtureShader.$(EXT)			\
		motionPathCmd.$(EXT)			\
		motionTraceCmd.$(EXT)			\
		moveCurveCVsCmd.$(EXT)			\
		moveNumericTool.$(EXT)			\
		moveTool.$(EXT)					\
		moveManip.$(EXT)			\
		multiCurveNode.$(EXT)			\
		nodeCreatedCBCmd.$(EXT)				\
		nodeInfoCmd.$(EXT)				\
		nodeMessageCmd.$(EXT)			\
		noiseShader.$(EXT)				\
		offsetNode.$(EXT)				\
		ownerEmitter.$(EXT)				\
		particleAttrNode.$(EXT)			\
		particlePathsCmd.$(EXT)			\
		particleSystemInfoCmd.$(EXT)	\
		phongShader.$(EXT)				\
		pickCmd.$(EXT)					\
		pointOnMeshInfo.$(EXT)			\
		pointOnSubdNode.$(EXT)			\
		polyRawExporter.$(EXT) 			\
		polyPrimitiveCmd.$(EXT)			\
		polyTrgNode.$(EXT)				\
		polyX3DExporter.$(EXT) 			\
		progressWindowCmd.$(EXT)			\
		quadricShape.$(EXT)				\
		referenceQueryCmd.$(EXT)		\
		renderAccessNode.$(EXT)			\
		renderViewRenderCmd.$(EXT)		\
		renderViewRenderRegionCmd.$(EXT)	\
		sampleCmd.$(EXT)				\
		sampleParticles.$(EXT)			\
		scanDagCmd.$(EXT)				\
		scanDagSyntax.$(EXT)			\
		shadowMatteShader.$(EXT)		\
		shellNode.$(EXT)				\
		shiftNode.$(EXT)				\
		simpleEmitter.$(EXT)			\
		simpleLoftNode.$(EXT)			\
		simpleSolverNode.$(EXT)			\
		simpleSpring.$(EXT)				\
		sineNode.$(EXT)					\
		slopeShader.$(EXT)				\
		solidCheckerShader.$(EXT)		\
		spiralAnimCurveCmd.$(EXT)		\
		splitUVCmd.$(EXT)				\
		surfaceCreateCmd.$(EXT)			\
		surfaceTwistCmd.$(EXT)			\
		sweptEmitter.$(EXT)				\
		swissArmyManip.$(EXT)			\
		torusField.$(EXT)				\
		transCircleNode.$(EXT)			\
		translateCmd.$(EXT)				\
		userMsgCmd.$(EXT)				\
		viewCaptureCmd.$(EXT)			\
		volumeLightCmd.$(EXT)			\
		volumeShader.$(EXT)				\
		whatisCmd.$(EXT)				\
		yTwistNode.$(EXT)				\
		zoomCameraCmd.$(EXT)			\
		objExport.$(EXT)				\
		fileIOMsgCmd.$(EXT)				\
		rotateManip.$(EXT)				\
		componentScaleManip.$(EXT)			\
		viewCallbackTest.$(EXT)			\
		weightListNode.$(EXT)			\
		apiSimpleShape.$(EXT)			\
		intersectCmd.$(EXT)				\
		surfaceBumpManip.$(EXT)			\
		hwRenderPostEffect.$(EXT)		\
		meshReorderCmd.$(EXT)			\
		rockingTransformCheck.$(EXT)	\
		rockingTransform.$(EXT)			\
		geometrySurfaceConstraint.$(EXT)			\
		simpleFluidEmitter.$(EXT)		\
		exampleMRampAttribute.$(EXT)	\
		stereoCameraView.$(EXT)

ribExport.$(EXT): ribExport.o
	-rm -f $@
	$(LD) -o $@ ribExport.o \
		$(LIBS) -lOpenMayaUI -lOpenMayaAnim \
		-L$(RMANTREE)/lib -lrib -ltarget -lprmutil -lzip

ribExport.o: ribExport.cpp
	$(C++) -c $(INCLUDES) -I$(RMANTREE)/include $(C++FLAGS) $<


depend:
	makedepend $(INCLUDES) -I/usr/include/CC *.cc

clean:
	-rm -f *.o

Clean:
	-rm -f *.o *.so *.lib *.bak *.bundle

##################
# Specific Rules #
##################

animExportUtil.$(EXT): animExportUtil.o animFileExport.o
	-rm -f $@
	$(LD) -o $@ animExportUtil.o animFileExport.o $(LIBS) -lOpenMayaAnim

animImportExport.$(EXT): animImportExport.o animFileUtils.o
	-rm -f $@
	$(LD) -o $@ animImportExport.o animFileUtils.o $(LIBS) -lOpenMayaAnim

animInfoCmd.$(EXT): animInfoCmd.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaAnim

APIMESHSHAPEOBJS =	apiMeshShape.o apiMeshShapeUI.o apiMeshGeom.o	\
					apiMeshData.o apiMeshCreator.o apiMeshIterator.o
apiMeshShape.$(EXT): $(APIMESHSHAPEOBJS)
	-rm -f $@
	$(LD) -o $@ $(APIMESHSHAPEOBJS) $(LIBS) $(LIBS_GL_EXTRA) -lOpenMayaUI

blastCmd.$(EXT): blastCmd.o
	-rm -f $@
	$(LD) -o $@ blastCmd.o $(LIBS) -lOpenMayaUI -limage

BLINDDATASHADEROBJS = blindDataMesh.o blindDataShader.o blindDataPluginMain.o
blindDataShader.$(EXT): $(BLINDDATASHADEROBJS)
	-rm -f $@
	$(LD) -o $@ $(BLINDDATASHADEROBJS) $(LIBS) $(LIBS_GL_EXTRA) -lOpenMayaUI

LATTICEOBJS = latticeNoise.o latticeNoiseCmd.o latticeNoiseNode.o
latticeNoise.$(EXT): $(LATTICEOBJS)
	-rm -f $@
	$(LD) -o $@ $(LATTICEOBJS) $(LIBS) -lOpenMayaAnim

VIEWCAPTUREOBJS= viewCaptureCmd.o viewCapturePPM.o
viewCaptureCmd.$(EXT): $(VIEWCAPTUREOBJS)
	-rm -f $@
	$(LD) -o $@ $(VIEWCAPTUREOBJS) $(LIBS) $(LIBS_GL_EXTRA) -lOpenMayaUI

clusterWeightFunction.$(EXT): clusterWeightFunction.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaAnim

CLOSESTPOINTONCURVEOBJS =	closestPointOnCurveCmd.o	\
							closestPointOnCurveNode.o	\
							closestPointOnCurvePlugin.o	\
							closestTangentUAndDistance.o
closestPointOnCurve.$(EXT): $(CLOSESTPOINTONCURVEOBJS)
	-rm -f $@
	$(LD) -o $@ $(CLOSESTPOINTONCURVEOBJS) $(LIBS)

clothPaintAttrCmd.$(EXT): clothPaintAttrCmd.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) 

createClipCmd.$(EXT): createClipCmd.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaAnim

curvedArrowsNode.$(EXT): curvedArrowsNode.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) $(LIBS_GL_EXTRA) -lOpenMayaUI

cvColorNode.$(EXT): cvColorNode.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) $(LIBS_GL_EXTRA) -lOpenMayaUI

exportJointClusterDataCmd.$(EXT): exportJointClusterDataCmd.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaAnim

exportSkinClusterDataCmd.$(EXT): exportSkinClusterDataCmd.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaAnim

flipUVCmd.$(EXT): flipUVCmd.o flipUVMain.o
	-rm -f $@
	$(LD) -o $@ flipUVCmd.o flipUVMain.o $(LIBS)
	
fluidInfoCmd.$(EXT): fluidInfoCmd.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaFX

footPrintManip.$(EXT): footPrintManip.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) $(LIBS_GL_EXTRA) -lOpenMayaUI

footPrintNode.$(EXT): footPrintNode.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) $(LIBS_GL_EXTRA) -lOpenMayaUI

hairCollisionSolver.$(EXT): hairCollisionSolver.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) $(LIBS_GL_EXTRA) -lOpenMayaFX

helixTool.$(EXT): helixTool.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) $(LIBS_GL_EXTRA) -lOpenMayaUI

hwColorPerVertexShader.$(EXT): hwColorPerVertexShader.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) $(LIBS_GL_EXTRA)  -lOpenMayaUI -lOpenMayaRender

hwPhongShader.$(EXT): hwPhongShader.o hwPhongShaderBehavior.o
	-rm -f $@
	$(LD) -o $@ hwPhongShader.o hwPhongShaderBehavior.o $(LIBS) $(LIBS_GL_EXTRA) -lOpenMayaUI -lOpenMayaRender
	
iffInfoCmd.$(EXT): iffInfoCmd.o iffreader.o
	-rm -f $@
	$(LD) -o $@ iffInfoCmd.o iffreader.o $(LIBS) -lImage

iffPixelCmd.$(EXT): iffPixelCmd.o iffreader.o
	-rm -f $@
	$(LD) -o $@ iffPixelCmd.o iffreader.o $(LIBS) -lImage

iffPpmCmd.$(EXT): iffPpmCmd.o iffreader.o
	-rm -f $@
	$(LD) -o $@ iffPpmCmd.o iffreader.o $(LIBS) -lImage

instancerListCmd.$(EXT): instancerListCmd.o 
	-rm -f $@
	$(LD) -o $@ instancerListCmd.o $(LIBS) -lOpenMayaFX

jlcVcrDevice.$(EXT): jlcVcrDevice.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaUI

lassoTool.$(EXT): lassoTool.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) $(LIBS_GL_EXTRA) -lOpenMayaUI

listLightLinksCmd.$(EXT): listLightLinksCmd.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaRender

marqueeTool.$(EXT): marqueeTool.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) $(LIBS_GL_EXTRA) -lOpenMayaUI

MESHOPCMDOBJS =	meshOpCmd.o meshOpFty.o meshOpFtyAction.o	\
				meshOpMain.o meshOpNode.o \
				polyModifierNode.o polyModifierCmd.o polyModifierFty.o
meshOpCmd.$(EXT): $(MESHOPCMDOBJS)
	-rm -f $@
	$(LD) -o $@ $(MESHOPCMDOBJS) $(LIBS)

motionPathCmd.$(EXT): motionPathCmd.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaAnim

moveNumericTool.$(EXT): moveNumericTool.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaUI

moveTool.$(EXT): moveTool.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaUI

moveManip.$(EXT): moveManip.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaUI

nodeCreatedCBCmd.$(EXT): nodeCreatedCBCmd.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaUI

offsetNode.$(EXT): offsetNode.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaAnim

ownerEmitter.$(EXT): ownerEmitter.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaFX

particlePathsCmd.$(EXT): particlePathsCmd.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaFX

particleSystemInfoCmd.$(EXT): particleSystemInfoCmd.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaFX

particleAttrNodeObjs = particleAttrNode.o particleAttrNodeMain.o
particleAttrNode.$(EXT): $(particleAttrNodeObjs)
	-rm -f $@
	$(LD) -o $@ $(particleAttrNodeObjs) $(LIBS) -lOpenMayaFX

pfxInfoCmd.$(EXT): pfxInfoCmd.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaFX

phongShader.$(EXT): phongShader.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaRender

POINTONMESHINFOOBJS =	getPointAndNormal.o pointOnMeshCmd.o	\
						pointOnMeshInfoNode.o pointOnMeshInfoPlugin.o
pointOnMeshInfo.$(EXT): $(POINTONMESHINFOOBJS)
	-rm -f $@
	$(LD) -o $@ $(POINTONMESHINFOOBJS) $(LIBS)
	
polyRawExporter.$(EXT): polyExporter.o  polyRawExporter.o  polyRawWriter.o  polyWriter.o
	-rm -f $@
	$(LD) -o $@ polyExporter.o  polyRawExporter.o  polyRawWriter.o  polyWriter.o $(LIBS) 

polyX3DExporter.$(EXT): polyExporter.o polyWriter.o  polyX3DExporter.o  polyX3DWriter.o
	-rm -f $@
	$(LD) -o $@ polyExporter.o polyWriter.o  polyX3DExporter.o  polyX3DWriter.o $(LIBS) 

progressWindowCmd.$(EXT): progressWindowCmd.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaUI

quadricShape.$(EXT): quadricShape.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS)  $(LIBS_GL_EXTRA) -lOpenMayaUI

renderAccessNode.$(EXT): renderAccessNode.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaRender

renderViewRenderCmd.$(EXT): renderViewRenderCmd.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaUI -lOpenMayaRender

renderViewRenderRegionCmd.$(EXT): renderViewRenderRegionCmd.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaUI -lOpenMayaRender

sampleCmd.$(EXT): sampleCmd.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaUI -lOpenMayaRender

sampleParticles.$(EXT): sampleParticles.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaUI -lOpenMayaRender

simpleEmitter.$(EXT): simpleEmitter.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaFX -lOpenMayaUI $(LIBS_GL_EXTRA) 

simpleSolverNode.$(EXT): simpleSolverNode.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaAnim

simpleSpring.$(EXT): simpleSpring.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaFX

SLOPESHADEROBJS = slopeShader.o slopeShaderBehavior.o slopeShaderNode.o
slopeShader.$(EXT): $(SLOPESHADEROBJS)
	-rm -f $@
	$(LD) -o $@ $(SLOPESHADEROBJS) $(LIBS) -lOpenMayaUI

spiralAnimCurveCmd.$(EXT): spiralAnimCurveCmd.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaAnim

SPLITUVOBJS = splitUVCmd.o  polyModifierCmd.o polyModifierNode.o \
              polyModifierFty.o splitUVFty.o splitUVFtyAction.o \
              splitUVMain.o splitUVNode.o
splitUVCmd.$(EXT): $(SPLITUVOBJS)
	-rm -f $@
	$(LD) -o $@ $(SPLITUVOBJS) $(LIBS)

sweptEmitter.$(EXT): sweptEmitter.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaFX

swissArmyManip.$(EXT): swissArmyManip.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) $(LIBS_GL_EXTRA) -lOpenMayaUI

torusField.$(EXT): torusField.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaFX -lOpenMayaUI $(LIBS_GL_EXTRA)

yTwistNode.$(EXT): yTwistNode.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaAnim

zoomCameraCmd.$(EXT): zoomCameraCmd.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaUI

objExport.$(EXT): objExport.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaUI -lOpenMayaAnim

fileIOMsgCmd.$(EXT): fileIOMsgCmd.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS)

userMsgCmd.$(EXT): userMsgCmd.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS)

rotateManip.$(EXT): rotateManip.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaUI

surfaceBumpManip.$(EXT): surfaceBumpManip.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaUI

idleTest.$(EXT): idleTest.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaUI

componentScaleManip.$(EXT): componentScaleManip.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaUI

viewCallbackTest.$(EXT): viewCallbackTest.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaUI

SIMPLESHAPEOBJS = apiSimpleShape.o apiSimpleShapeIterator.o apiSimpleShapeUI.o 
apiSimpleShape.$(EXT): $(SIMPLESHAPEOBJS) 
	-rm -f $@
	$(LD) -o $@ $(SIMPLESHAPEOBJS) $(LIBS) -lOpenMayaUI $(LIBS_GL_EXTRA)

simpleFluidEmitter.$(EXT): simpleFluidEmitter.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaFX

meshReorderCmd.$(EXT): meshReorderCmd.o meshReorderTool.o meshRemapCmd.o \
						meshRemapTool.o meshMapUtils.o meshReorderPlugin.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaUI
	
hwRenderPostEffect.$(EXT): hwRenderPostEffect.o
	-rm -f $@
	$(LD) -o $@ $? $(LIBS) -lOpenMayaRender $(LIBS_GL_EXTRA)

ROCKINGTRANSFORMOBJS = rockingTransform.o rockingTransformMain.o 
rockingTransform.$(EXT): $(ROCKINGTRANSFORMOBJS) 
	-rm -f $@
	$(LD) -o $@ $(ROCKINGTRANSFORMOBJS) $(LIBS)

ROCKINGTRANSFORMCHECKOBJS = rockingTransform.o rockingTransformCheck.o rockingTransformCheckMain.o 
rockingTransformCheck.$(EXT): $(ROCKINGTRANSFORMCHECKOBJS) 
	-rm -f $@
	$(LD) -o $@ $(ROCKINGTRANSFORMCHECKOBJS) $(LIBS)

STEREOCAMERAVIEWOBJS = stereoCameraMain.o stereoCameraView.o stereoCameraViewCmd.o 
stereoCameraView.$(EXT): $(STEREOCAMERAVIEWOBJS) 
	-rm -f $@
	$(LD) -o $@ $(STEREOCAMERAVIEWOBJS) $(LIBS)


